import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";

export default defineConfig(({ mode }) => {
  // 加载对应环境的 .env 文件，例如 .env.development
  const env = loadEnv(mode, process.cwd());
  const baseUrl = env.VITE_APP_BASE_API; // 例如：/api
  return {
    server: {
      open: true,
      port: 8082,
      proxy: {
        '/admin': {
          target: baseUrl, // 后端服务器真实地址（如 http://117.72.52.18:9999）
          changeOrigin: true, // 开启跨域代理（关键：模拟前端请求来自后端域名）
          secure: false, // 忽略https证书验证（http后端需设为false）
          pathRewrite: {
            // 示例：若前端请求 /admin/login，后端实际是 /login，则配置为 '^/admin': ''
            // 你的情况后端接口带 /admin，所以无需重写，保持空对象即可
          }
        }
      },
      // 注意：sourcemap 是 build 的配置项，不是 server 的，需移到 build 中
    },
    build: {
      sourcemap: true, // 打包时生成 source map
    },
    plugins: [
      vue(),
      AutoImport({
        resolvers: [ElementPlusResolver()],
      }),
      Components({
        resolvers: [ElementPlusResolver()],
      }),
    ],
    resolve: {
      alias: {
        "@": path.resolve(__dirname, "./src"),
      },
    },
  };
});
